package com.cashbox.logger;

import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;

/**
 *
 * @author luramirez
 */
public class CashBoxLogger {
    //TODO Investigar Correctamente los Niveles de Log.
    private Logger looger;
    private static FileHandler fileTxt;
    private static SimpleFormatter formatterTxt;

    public CashBoxLogger(String clase) {
        looger = Logger.getLogger(clase);
    }

    public void grabarLogINFO(String mensaje) {
        looger.setLevel(Level.INFO);
        looger.info(mensaje);
    }

    public void grabarLogWARN(String mensaje) {
        looger.setLevel(Level.WARNING);
        looger.info(mensaje);
    }

    public void grabarLogSEVERE(String mensaje) {
        looger.setLevel(Level.SEVERE);
        looger.info(mensaje);
    }

    public void grabarLogCONFIG(String mensaje) {
        looger.setLevel(Level.CONFIG);
        looger.info(mensaje);
    }

    public static void setUp() {
        // Crea el  Logger
        Logger logger = Logger.getLogger("");
        logger.setLevel(Level.INFO);
        try {
            String separador = System.lineSeparator();
            fileTxt = new FileHandler(System.getProperty("user.dir") + separador + "log", true);
        } catch (IOException | SecurityException ex) {
            throw new RuntimeException("Error al inicializar el logger. " + ex.getLocalizedMessage());
        }

        formatterTxt = new SimpleFormatter();
        fileTxt.setFormatter(formatterTxt);
        logger.addHandler(fileTxt);
    }

    public Logger getLooger() {
        return looger;
    }

    public void setLooger(Logger looger) {
        this.looger = looger;
    }
}
